package hard;

import java.util.Scanner;

/**
 * MT20 抽牌
 * @author d3y1
 */
public class MT20{
    public static void main(String[] args){
        Scanner in = new Scanner(System.in);

        while(in.hasNext()){
            solution(in);
        }
    }

    /**
     * 动态规划
     *
     * dp[i][j]表示从牌i到牌j甲的得分期望 甲-小明 乙-小方
     *
     *            { nums[i]                          , j-i=0
     * dp[i][j] = { p*nums[i]+(1-p)*nums[j]          , j-i=1
     *            { p*q*(nums[i]+dp[i+2][j]) +
     *              p*(1-q)*(nums[i]+dp[i+1][j-1]) +
     *              (1-p)*q*(nums[j]+dp[i+1][j-1]) +
     *              (1-p)*(1-q)*(nums[j]+dp[i][j-2]) , j-i>1
     *
     * @param in
     */
    private static void solution(Scanner in){
        int n = in.nextInt();
        double p = in.nextInt()/100.0;
        double q = in.nextInt()/100.0;

        int[] nums = new int[n];
        for(int i=0; i<n; i++){
            nums[i] = in.nextInt();
        }

        double[][] dp = new double[n][n];
        for(int gap=0; gap<n; gap++){
            for(int i=0; i<n; i++){
                int j = i+gap;
                if(j < n){
                    if(j == i){
                        dp[i][j] = nums[i];
                    }else if(j == i+1){
                        dp[i][j] = p*nums[i] + (1-p)*nums[j];
                    }else{
                                   //甲上乙上
                        dp[i][j] = p*q*(nums[i] + dp[i+2][j]) +
                                   //甲上乙下
                                   p*(1-q)*(nums[i] + dp[i+1][j-1]) +
                                   //甲下乙上
                                   (1-p)*q*(nums[j] + dp[i+1][j-1]) +
                                   //甲下乙下
                                   (1-p)*(1-q)*(nums[j] + dp[i][j-2]);
                    }
                }else{
                    break;
                }
            }
        }

        System.out.printf("%.3f", dp[0][n-1]);
    }
}